Various types of machine-readable codes and electronic code readers are known in the art. Electronic code readers are useful because they automatically collect data embodied in machine-readable codes, thereby allowing data to be collected more quickly and more accurately than is possible with manual data entry.
Laser scanners are commonly used to read one-dimensional bar codes, which are used in a variety of applications. For example, bar codes appear on a wide variety of goods and merchandise, and on shipping labels that are affixed to packages. Once a bar code is read and decoded by a suitable bar code reader, a computer may use the decoded number to access associated data that has been stored in a database. For example, with goods and merchandise, each product has a unique bar code number, and the associated data would identify the product and its price, manufacturer, etc. With a package, the label number would uniquely identify the package, and the associated data would include information such as the size and weight of the package, the origin and destination addresses, and type of service selected (e.g., overnight delivery, second day delivery, etc.).
In the case of portable, non-contact bar code readers, the laser beam that is used to read the label also serves two other important functions. The laser beam projects a visible line that allows the user to aim the bar code reader at the target label, and to properly orient the bar code reader with respect to the bar code's axis. In addition, the intensity and wavelength of the laser light are such that the ambient lighting conditions in stores, offices, warehouses, etc. do not affect the bar code reader's ability to read the label.
One-dimensional bar codes are best suited for applications requiring a maximum of approximately 15 characters. In order to encode larger amounts of data using one-dimensional bar codes, the bar codes must be relatively large. This results in labels that are too large to fit on small items, and which require relatively large amounts of paper.
In order to practically encode larger amounts of data, compact two-dimensional codes or symbologies have been developed. For example, a hexagonal coding symbology can encode up to 100 characters in an area that is approximately 1 inch square. Such a symbology is disclosed in U.S. Pat. Nos. 4,998,010, entitled "Polygonal Information Encoding Article, Process and System," and 4,874,936, entitled "Hexagonal, Information Encoding Article, Process and System," the disclosures of which are incorporated herein by reference and made a part hereof. When used on package labels, these two-dimensional symbologies allow shipping information such as origin, destination, weight, type of service, etc. to be read directly from the label, without requiring associated data to be looked up in a centralized data base.
The conventional laser scanners that are used to read one-dimensional bar codes are not capable of reading two-dimensional codes. However, cameras that employ charge coupled device (CCD) arrays are capable of "capturing" two-dimensional images, which may include one-dimensional or two-dimensional codes. Once the output of the CCD camera is digitized, it may be stored and/or manipulated prior to being decoded. The ability to "rotate" the image data after the image is captured allows a code to be captured and decoded even if the camera is not precisely aligned with a particular axis of the code.
Because a CCD camera captures a two-dimensional image and provides image data to a decoding algorithm, a label reading device employing a CCD camera is as versatile as the decode algorithms programmed in the device. This allows a single reader to be used to capture and decode various types of bar codes and two-dimensional symbologies, provided the appropriate decoding algorithm is available. Examples of such cameras and associated methods are disclosed in U.S. Pat. Nos. 5,329,105, entitled "Method and Apparatus for Determining the Width of Elements of Bar Code Symbols," 5,308,960, entitled "Combined Camera System," and 5,276,315, entitled "Method and Apparatus for Processing Low Resolution Images of Degraded Bar Code Symbols," the disclosures of which are incorporated herein by reference.
Compact CCD cameras are readily available and well suited to this application. However, the algorithms that are used to decode the captured image data work best when the captured image is neither too bright nor too dark, and when the image intensity and contrast are fairly constant across the entire image. Therefore, it is necessary to ensure that the captured image has the proper intensity, which is affected by several factors, including the illumination source, the camera optics, and the gain of the video system.
The process of capturing an image, which is analogous to taking a snap-shot with a conventional photographic camera, involves focusing an image on the CCD array and allowing electrical charge to accumulate in the CCD array's photoelements. The rate of charge accumulation in a photoelement is dependent on the incident light level. The intensity of the captured image is determined by integrating the rate of charge accumulation with respect to time. By varying the integration period, the amount of charge collected for a given light level, and the intensity of the captured image, can be varied. The integration period is also referred to as the camera's exposure period or electronic shutter speed.
The image function falling on the CCD can be described as the product of two functions. The first function is the contrast function of the object that is being illuminated and imaged. The second function is the combined effect of the illumination and camera's lens. The first function represents the contrast between the black and white elements that make up a bar code or two-dimensional code. The second is undesirable and should be corrected to the extent possible by various features of the camera.
In order to minimize the undesirable effects of the illumination source, it is necessary to illuminate the target label with light that is consistent over the camera's entire field of view. Although various types of illuminators are known in the art, there is a need in the art for an illuminator that provides light having little local variation and which is consistent across the entire two-dimensional field of view. In addition, the quality of the illumination light pattern should be consistent over a range of object distances corresponding to the camera's depth of field.
Even when the target label is perfectly illuminated, the CCD camera's lens assembly causes attenuation that affects the captured image. For example, in some CCD cameras, the image produced by the lens falls off by a factor of nearly cos.sup.4 (.theta.) even when the object is perfectly illuminated. At the corners of the image, the intensity may be little as 50% of the intensity at the center. Therefore, there is a need in the art for a camera that corrects the attenuation caused by the camera's lens assembly.
Because a hand held label reader may be used in environments where the lighting conditions range from direct sunlight to relatively dim lighting, the hand held label reader preferably is able to ensure that the intensity of the captured image is satisfactory over the entire range of light conditions. This can be accomplished with an aperture that is small enough to provide sufficient depth of field and to prevent direct sunlight from damaging the CCD array. The camera's shutter speed must also remain fast enough to prevent blurred images due to movement of the reader. Therefore, there is a need in the art for camera having an overall video gain adjustment with sufficient dynamic range to compensate for the anticipated lighting conditions. Furthermore, there is a need for a camera that is capable of accurately determining the lighting conditions and selecting the video gain in order to ensure the proper image intensity.
Although the prior art includes label imagers that provide illumination sources and exposure control, there remains a need in the art for an automatic electronic camera that provides flat illumination and compensates for the falloff effect associated with the camera's lens assembly. Furthermore, there is a need for an automatic electronic camera with an overall video gain adjustment sufficient to compensate for the dynamic range of the illuminating light while constraining the camera's electronic speed and aperture. There is also a need for a camera that accurately controls the image intensity regardless of the level of incident light.